/*----------------------------*/
/*                            */
/*  Tetris Ivan               */
/*----------------------------*/

#include <allegro.h>
#include "tetris.h"

 
/* Teclas predefinidas */
#define TEC_ARRIBA KEY_W
#define TEC_ABAJO  KEY_S
#define TEC_IZQDA  KEY_A
#define TEC_DCHA   KEY_D

int tecla;
int contadorFotogramas;
bool partidaTerminada;
//--------------------- MENU ---------------------------------------------------

//-----------------------------------------------------------------------------
 
int main()
{
  allegro_init();
  install_keyboard();
  install_mouse ( ) ; 
  install_timer();
 set_color_depth(32);
if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0)!= 0){
set_gfx_mode(GFX_TEXT,0, 0,0, 0);
allegro_message(
    "Incapaz de entrar a modo grafico\n%s\n",
    allegro_error);


if(install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL) != 0)
{
	set_gfx_mode(GFX_TEXT,0,0,0,0);
	allegro_message("Error al instalar sistema de sonido", allegro_error);
	exit(1);
}

    return 1;
  }
/*-------------------------------------------------------------------------------------------*/



//Bloque primerbloque;
tetris xtetris;
xtetris.nuevoBloque();
xtetris.dibujar();

partidaTerminada = FALSE;
  do { //Bucle principal ---------------------------


    if ( keypressed())  {
        tecla = readkey() >> 8;
        switch (tecla) {
          case TEC_ARRIBA:
			 xtetris.rotar(); 
             break;
          case TEC_ABAJO:
			xtetris.gravedad();
             break;
          case TEC_IZQDA:
			 xtetris.mover_izquierda(); 
             break;
          case TEC_DCHA:
			 xtetris.mover_derecha();
             break;
        }
    }
    //Mover elementos ------------------
	 contadorFotogramas ++;
  if (contadorFotogramas >= 10) {   
    
    contadorFotogramas = 0;
    xtetris.gravedad();

  }
	//Pasamos pieza al fondo si toca suelo ---------------

    //Pausar fotograma ---------------------------------------
	// Para 25 fps: 1000/25 = 40 milisegundos de pausa
	rest(40);

	//Dibujamos todo ----------------------------------------
	xtetris.dibujar();

  } while (partidaTerminada != TRUE);

 
   
/*-------------------------------------------------------------------------------------------*/
  readkey();
}
 
END_OF_MAIN();
